package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

/**
 * 集合之间的操作
 */
public class CollectionDemo4 {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        c1.add("java");
        c1.add("c++");
        c1.add(".net");
        System.out.println("c1:"+c1);

        Collection c2 = new HashSet();//不能有重复的元素
        c2.add("android");
        c2.add("ios");
        c2.add("java");
        System.out.println("c2:"+c2);

        /*
        boolean addAll(Collection c)
        将给定集合的所有元素添加到当前集合中，添加后当前集合发生了变化则返回true
         */
//        c1.addAll(c2);//把c2元素放到c1里面
//        System.out.println("c1:"+c1);//c1:[java, c++, .net, java, android, ios]
//
//        c2.addAll(c1);
//        System.out.println("c2:"+c2);//c2:[c++, java, android, .net, ios]

//        c2.add(c1);
//        System.out.println("c2:"+c2);//c2:[java, android, [java, c++, .net], ios],一共四个元素

        Collection c3 = new ArrayList();
        c3.add("java");
        c3.add("c++");
        System.out.println("c3:"+c3);

        //boolean containsAll(Collection c)
        //判断当前集合是否包含给定集合中所有元素，全包含则返回true
        boolean con = c1.containsAll(c3);
        System.out.println("全包含："+con);//true

        boolean con1 = c1.contains(c3);//此方法判断c1集合中是否存在一个集合类型的元素c3
        System.out.println("全包含："+con1);//false

        c1.removeAll(c3);//删除当前集合中与给定集合的共有元素，给定集合不变
        System.out.println("c1:"+c1);//c1:[.net]
        System.out.println("c3:"+c3);//c3:[java, c++]
    }
}
